package net.ericaro.neojavagen.interfaces ;
import net.ericaro.neojavagen.interfaces.InterfaceModifiers;
import net.ericaro.neojavagen.interfaces.AnnotationTypeElementDeclaration;
import net.ericaro.neojavagen.interfaces.AnnotationTypeBody;
import net.ericaro.neojavagen.packages.JavadocComment;
import net.ericaro.neojavagen.interfaces.InterfaceDeclaration;
import net.ericaro.neojavagen.types.Identifier;
import net.ericaro.neojavagen.interfaces.Annotations ;

/**
* *<pre> AnnotationTypeDeclaration :
    JavadocComment? Annotations? InterfaceModifiers? @ interface Identifier AnnotationTypeBody
</pre>
*/
public class AnnotationTypeDeclaration  implements InterfaceDeclaration,AnnotationTypeElementDeclaration {

JavadocComment javadoccomment;
Annotations annotations;
InterfaceModifiers interfacemodifiers;
Identifier identifier;
AnnotationTypeBody annotationtypebody ;

public AnnotationTypeDeclaration( JavadocComment javadoccomment, Annotations annotations, InterfaceModifiers interfacemodifiers, Identifier identifier, AnnotationTypeBody annotationtypebody ){
	this.javadoccomment = javadoccomment; this.annotations = annotations; this.interfacemodifiers = interfacemodifiers; this.identifier = identifier; this.annotationtypebody = annotationtypebody ;
	}public AnnotationTypeDeclaration( Identifier identifier, AnnotationTypeBody annotationtypebody ){
this.identifier = identifier; this.annotationtypebody = annotationtypebody ;
}


public String toString(){
	StringBuilder stringbuilder = new StringBuilder();
	if (this.javadoccomment !=null ) stringbuilder.append( this.javadoccomment ).append(" ");
if (this.annotations !=null ) stringbuilder.append( this.annotations ).append(" ");
if (this.interfacemodifiers !=null ) stringbuilder.append( this.interfacemodifiers ).append(" ");
stringbuilder.append( "@" ).append(" ");
stringbuilder.append( "interface" ).append(" ");
stringbuilder.append( this.identifier ).append(" ");
stringbuilder.append( this.annotationtypebody ).append(" ") ;
	return stringbuilder.toString();
}

}
